Part Number Hot Search : 
2SK4067 PD150S8 N4740 WM8750BL F5001 P16N6 108M000 TMP87
Product Description
Full Text Search
 

To Download MT9P031I12STM-DP1 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ? semiconductor components industries, llc, 2006 january, 2017 ? rev. 10 1 publication order number: mt9p031/d mt9p031 1/2.5-inch 5 mp cmos digital image sensor general description the on semiconductor mt9p031 is a 1/2.5 ? inch cmos active ? pixel digital image sensor with an active imaging pixel array of 2592 h x 1944 v. it incorporates sophisticated camera functions on ? chip such as windowing, column and row skip mode, and snapshot mode. it is programmable through a simple two ? wire serial interface. the 5 mp cmos image sensor features on semiconductor?s breakthrough low ? noise cmos imaging technology that achieves ccd image quality (based on signal ? to ? noise ratio and low ? light sensitivity) while maintaining the inherent size, cost, and integration advantages of cmos. table 1. key performance parameters parameter value optical format 1/2.5-inch (4:3) active imager size 5.70 mm (h) x 4.28 mm (v) 7.13 mm diagonal active pixels 2592 h x 1944 v pixel size 2.2 x 2.2 m color filter array rgb bayer pattern shutter type global reset release (grr), snapshot only electronic rolling shutter (ers) maximum data rate / pixel clock 96 mp/s at 96 mhz (2.8 v i/o) 48 mp/s at 48 mhz (1.8 v i/o) frame rate full resolution programmable up to 14 fps hdtv (640 x 480, with binning) programmable up to 53 fps adc resolution 12-bit, on-chip responsivity 1.4 v/lux-sec (550 nm) pixel dynamic range 70.1 db snr max 38.1 db supply voltage i/o 1.7 ? 3.1 v digital 1.7 ? 1.9 v (1.8 v nominal) analog 2.6 ? 3.1 v (2.8 v nominal) power consumption 381 mw at 14 fps full resolution operating temperature ?30 c to +70 c packaging 48-pin ilcc, die www.onsemi.com see detailed ordering and shipping information on page 2 of this data sheet. ordering information ilcc48 10x10 case 847aa a pplications ? high resolution network cameras ? ? ? ? ? features ? high frame rate ? ? ? ? ? ? ? ? of ? view (fov) ? ? ? ? ?
mt9p031 www.onsemi.com 2 ordering information table 2. available part numbers part number product description orderable product attribute description mt9p031d00stcc18bc1 ? 200 5 mp 1/3? cis die sales, 200  m thickness mt9p031d00stmc18bc1 ? 200 5 mp 1/3? cis die sales, 200  m thickness mt9p031i12stc ? dp 5 mp 1/3? cis dry pack with protective film mt9p031i12stc ? dr 5 mp 1/3? cis dry pack without protective film mt9p031i12stc ? dr1 5 mp 1/3? cis dry pack single tray without protective film mt9p031i12stc ? tp 5 mp 1/3? cis tape & reel with protective film mt9p031i12stm ? dp 5 mp 1/3? cis dry pack with protective film mt9p031i12stm ? dp1 5 mp 1/3? cis dry pack single tray with protective film mt9p031i12stm ? dr 5 mp 1/3? cis dry pack without protective film mt9p031i12stm ? dr1 5 mp 1/3? cis dry pack single tray without protective film description the mt9p031 sensor can be operated in its default mode or programmed by the user for frame size, exposure, gain setting, and other parameters. the default mode outputs a full resolution image at 14 frames per second (fps). an on ? chip analog ? to ? digital converter (adc) provides 12 bits per pixel. frame_v alid (fv) and line_v alid (lv) signals are output on dedicated pins, along with a pixel clock that is synchronous with valid data. the mt9p031produces extraordinarily clear, sharp digital pictures, and its ability to capture both continuous video and single frames makes it the perfect choice for a wide range of consumer and industrial applications, including cell phones, digital still cameras, digital video cameras, and pc cameras.. functional overview the mt9p031 is a progressive ? scan sensor that generates a stream of pixel data at a constant frame rate. it uses an on ? chip, phase ? locked loop (pll) to generate all internal clocks from a single master input clock running between 6 and 27 mhz. the maximum pixel rate is 96 mp/s, corresponding to a clock rate of 96 mhz. figure 1 illustrates a block diagram of the sensor. figure 1. block diagram pixel array 2752h x 2004v sclk s data s addr pixclk d out [11:0] lv fv strobe analog signal chain data path trigger extclk reset_bar standby_bar oe array control output serial interface user interaction with the sensor is through the two ? wire serial bus, which communicates with the array control, analog signal chain, and digital signal chain. the core of the sensor is a 5 mp active ? pixel array. the timing and control circuitry sequences through the rows of the array, resetting and then reading each row in turn. in the time interval between resetting a row and reading that row, the pixels in the row integrate incident light. the exposure is controlled by varying the time interval between reset and readout. once a row has been read, the data from the columns is sequenced
mt9p031 www.onsemi.com 3 through an analog signal chain (providing offset correction and gain), and then through an adc. the output from the adc is a 12 ? bit value for each pixel in the array. the adc output passes through a digital processing signal chain (which provides further data path corrections and applies digital gain). the pixel data are output at a rate of up to 96 mp/s, in addition to frame and line synchronization signals. figure 2. typical configuration (connection) d out [11:0] pixclk fv lv strobe s addr reset_bar standby_bar sclk s data trigger v dd _io a gnd 3 test 1.5k 1 1.5k 1 v dd _io 2,3 v dd v dd 2,3 1 f rsvd d gnd 3 v dd _pll vaa_pix v aa v aa 2,3 oe to controller from controller master clock extclk 1.0k notes: 1. a resistor value of 1.5 k is recommended, but may be greater for slower two-wire speed. 2. all power supplies should be adequately decoupled. 3. all d gnd pins must be tied together, as must all a gnd pins, all v dd_ io pins, and all v dd pins. 48 figure 3. 48-pin ilcc 10 x 10 package pinout diagram (top view) 1 2 3 4 5 6 44 43 19 20 21 22 23 24 25 26 27 28 29 30 7 8 9 10 11 12 13 14 15 16 42 41 40 39 38 37 36 35 34 33 32 31 frame_valid line_valid strobe d gnd v dd_ io v dd s addr standby_bar trigger reset_bar oe nc d out 8 d out 7 d out 6 v dd_ io d out 5 d out 4 d out 3 d out 2 d out 1 d out 0 pixclk extclk nc test test a gnd v aa v aa v dd_ pll d gnd nc nc nc nc rsvd s data sclk test a gnd vaa_pix vaa_pix v dd d gnd d out 11 d out 10 d out 9 48 47 46 45 17 18
mt9p031 www.onsemi.com 4 table 3. pin description name type description reset_bar input when low, the mt9p031 asynchronously resets. when driven high, it resumes normal operation with all configuration registers set to factory defaults. extclk input external input clock. sclk input serial clock. pull to v dd_ io with a 1.5 k resistor. oe input when high, the pixclk, d out , fv, lv, and strobe outputs enter a high-z. when driven low, normal operation resumes. standby_bar input standby. when low, the chip enters a low-power standby mode. it resumes normal operation when the pin is driven high. trigger input snapshot trigger. used to trigger one frame of output in snapshot modes, and to indicate the end of exposure in bulb exposure modes. s addr input serial address. when high, the mt9p031 responds to device id (ba) h . when low, it responds to serial device id (90) h . s data i/o serial data. pull to v dd_ io with a 1.5 k resistor. pixclk output pixel clock. the d out , fv, lv, and strobe outputs should be captured on the falling edge of this signal. d out[11:0] output pixel data. pixel data is 12-bit. msb (d out11 ) through lsb (d out 0) of each pixel, to be captured on the falling edge of pixclk. frame_valid output frame valid. driven high during active pixels and horizontal blanking of each frame and low during vertical blanking. line_valid output line valid. driven high with active pixels of each line and low during blanking periods. strobe output snapshot strobe. driven high when all pixels are exposing in snapshot modes. v dd supply digital supply voltage. nominally 1.8 v. v dd _io supply io supply voltage. nominally 1.8 or 2.8 v. d gnd supply digital ground. v aa supply analog supply voltage. nominally 2.8 v. vaa_pix supply pixel supply voltage. nominally 2.8 v, connected externally to v aa . a gnd supply analog ground. v dd_ pll supply pll supply voltage. nominally 2.8 v, connected externally to v aa . test ? tie to a gnd for normal device operation (factory use only). rsvd ? tie to d gnd for normal device operation (factory use only). nc ? no connect.
mt9p031 www.onsemi.com 5 pixel data format pixel array structure the mt9p031 pixel array consists of a 2752 ? column by 2004 ? row matrix of pixels addressed by column and row. the address (column 0, row 0) represents the upper ? right corner of the entire array, looking at the sensor, as shown in figure 4. the array consists of a 2592 ? column by 1944 ? row active region in the center representing the default output image, surrounded by a boundary region (also active), surrounded by a border of dark pixels (see table 4 and table 5). the boundary region can be used to avoid edge effects when doing color processing to achieve a 2592 x 1944 result image, while the optically black column and rows can be used to monitor the black level. pixels are output in a bayer pattern format consisting of four ?colors? ? greenr, greenb, red, and blue (gr, gb, r, b) ? representing three filter colors. when no mirror modes are enabled, the first row output alternates between gr and r pixels, and the second row output alternates between b and gb pixels. the gr and gb pixels have the same color filter, but they are treated as separate colors by the data path and analog signal chain. table 4. pixel type by column column pixel type 0 ?9 dark (10) 10?15 active boundary (6) 16?2607 active image (2592) 2608?2617 active boundary (10) 2618?2751 dark (134) table 5. pixel type by row column pixel type 0 ?49 dark (50) 50?53 active boundary (4) 54?1997 active image (1944) 1998?2001 active boundary (3) 2002?2003 dark (2) figure 4. pixel array description (2751, 2003) 10 black columns 2 black rows 50 black rows (0,0) 134 black columns active image 2592 x 1944 active pixels 4 (16,54) 6 10 4 figure 5. pixel color pattern detail (top right corner) first clear pixel (10,50) black pixels column readout direction . . . . . . ... row readout direction gr b gr b gr b r gb r gb r gb gr b gr b gr b r gb r gb r gb gr b gr b gr b r gb r gb r gb gr b gr b gr b
mt9p031 www.onsemi.com 6 default readout order by convention, the sensor core pixel array is shown with pixel (0,0) in the top right corner (see figure 4). this reflects the actual layout of the array on the die. also, the first pixel data read out of the sensor in default condition is that of pixel (16, 54). when the sensor is imaging, the active surface of the sensor faces the scene as shown in figure 5. when the image is read out of the sensor, it is read one row at a time, with the rows and columns sequenced as shown in figure 6. figure 6. imaging a scene lens pixel (0,0) row readout order column readout order scene sensor (rear view) output data format (default mode) the mt9p031 image data is read out in a progressive scan. v alid image data is surrounded by horizontal blanking and vertical blanking, as shown in figure 7. lv is high during the shaded region of the figure. fv timing is described in ?output data timing?. figure 7. spatial illustration of image readout p 0,0 p 0,1 p 0,2 .....................................p 0,n ? 1 p 0,n p 1,0 p 1,1 p 1,2 .....................................p 1,n ? 1 p 1,n 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 p m ? 1,0 p m ? 1,1 .....................................p m ? 1,n ? 1 p m ? 1,n p m,0 p m,1 .....................................p m,n ? 1 p m,n 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 00 00 00 .................. 00 00 00 00 00 00 ..................................... 00 00 00 00 00 00 ..................................... 00 00 00 00 00 00 ..................................... 00 00 00 00 00 00 ..................................... 00 00 00 valid image horizontal blanking vertical blanking vertical/horizontal blanking
mt9p031 www.onsemi.com 7 readout sequence typically, the readout window is set to a region including only active pixels. the user has the option of reading out dark regions of the array, but if this is done, consideration must be given to how the sensor reads the dark regions for its own purposes. rows are read from the array in the following order: 1. dark rows: if show_dark_rows is set, or if manual_blc is clear, dark rows on the top of the array are read out. the set of rows sampled are adjusted based on the row_bin setting such that there are 8 rows after binning, as shown in the table 6. the row_skip setting is ignored for the dark row region. if show_dark_rows is clear and manual_blc is set, no dark rows are read from the array as part of this step, allowing all rows to be part of the active image. this does not change the frame time, as h dr is included in the vertical blank period. 2. active image: the rows defined by the row start, row size, bin, skip, and row mirror settings are read out. if this set of rows includes rows read out above, those rows are resampled, meaning that the data is invalid. table 6. dark rows sampled as a function of row_bin row_bin h dr (dark rows after binning) 0 8 1 8 3 8 columns are read out in the following order: 1. dark columns: if either show_dark_columns or row_blc is set, dark columns on the left side of the image are read out followed by those on the right side. the set of columns read is shown in table 7. the column_skip setting is ignored for the dark columns. if neither show_dark_columns nor row_blc is set, no dark columns are read, allowing all columns to be part of the active image. this does not change the row time, as w dc is included in the vertical blank period. 2. active image: the columns defined by column start, column size, bin, skip, and column mirror settings are read out. if this set of columns includes the columns read out above, these columns are resampled, meaning the data is invalid. table 7. dark columns sampled as a function of column_bin column_bin w dc (dark columns after binning) 0 80 1 40 3 20
mt9p031 www.onsemi.com 8 output data timing the output images are divided into frames, which are further divided into lines. by default, the sensor produces 1944 rows of 2592 columns each. the fv and lv signals indicate the boundaries between frames and lines, respectively. pixclk can be used as a clock to latch the data. for each pixclk cycle, one 12 ? bit pixel datum outputs on the d out pins. when both fv and lv are asserted, the pixel is valid. pixclk cycles that occur when fv is negated are called vertical blanking. pixclk cycles that occur when only lv is negated are called horizontal blanking. figure 8. default pixel output timing pixclk fv lv d out [11:0] p0 p1 p2 p3 p4 vertical blanking horiz blanking valid image data horiz blanking vertical blanking pn lv and fv the timing of the fv and lv outputs is closely related to the row time and the frame time. fv will be asserted for an integral number of row times, which will normally be equal to the height of the output image. if show_dark_rows is set, the dark sample rows will be output before the active image, and fv will be extended to include them. in this case, fv?s leading edge happens at time 0. lv will be asserted during the valid pixels of each row. the leading edge of lv will be offset from the leading edge of fv by 609 pixclks. if show_dark_columns is set, the dark columns will be output before the image pixels, and lv will be extended back to include them; in this case, the first pixel of the active image still occurs at the same position relative to the leading edge of fv. normally, lv will only be asserted if fv is asserted; this is configurable as described below. lv format options the default situation is for lv to be negated when fv is negated. the other option available is shown in figure 9. if continuous_lv is set, lv is asserted even when fv is not, with the same period and duty cycle. if xor_line_valid is set, but not continuous_line_valid, the resulting lv will be the xor of fv and the continuous lv. figure 9. lv format options default continuous lv xor lv fv lv fv lv fv lv the timing of an entire frame is shown in figure 10.
mt9p031 www.onsemi.com 9 figure 10. frame timing lv column readout t row w row readout fv h t frame blanking region active image dark rows dark columns h dr w dc frame time the pixel clock (pixclk) represents the time needed to sample 1 pixel from the array, and is typically equal to 1 extclk period. the sensor outputs data at the maximum rate of 1 pixel per pixclk. one row time ( t row) is the period from the first pixel output in a row to the first pixel output in the next row. the row time and frame time are defined by equations in table 8 . table 8. frame time parameters name equation default timing at extclk = 96 mhz fps frame rate 1/ t frame 14 t frame frame time (h + max(vb, vb min )) t row 71.66 ms t row row time 2 t pixclk x max(((w/2) + max(hb, hb min )), (41 + 346 x (row_bin+1) + 99)) 36.38 s w output image width 2 ceil((column_size + 1) / (2 (column_skip + 1))) 2592 pixclk h output image height 2 ceil((row_size + 1) / (2 (row_skip + 1))) 1944 rows sw shutter width max (1, (2 * 16 shutter_width_upper) + shutter_width_lower) 1943 rows hb horizontal blanking horizontal_blank + 1 1 pixclk vb vertical blanking vertical_blank + 1 26 rows hb min minimum horizontal blanking 346 (row_bin + 1) + 64 + (w dc / 2) 450 pixclk vb min minimum vertical blanking max (8, sw ? h) + 1 9 rows t pixclk pixclk period 1/ f pixclk 10.42 ns the minimum horizontal blanking (hb min ) values for various row_bin and column_bin settings are shown in table 9 .
mt9p031 www.onsemi.com 10 table 9. hb min values for row_bin vs. column_bin settings column_bin (w dc ) row_bin 0 1 3 0 450 430 420 1 796 776 766 3 1488 1468 1458 frame rates at common resolutions table 10 and t able 11 show examples of register settings to achieve common resolutions and their frame rates. frame rates are shown both with subsampling enabled and disabled. table 10. standard resolutions resolution frame rate sub ? sampling mode column_ size (r0x04) row_ size (r0x03) shutter_ width_ lower (r0x09) row_ bin (r0x22 [5:4]) row_ skip (r0x22 [2:0]) column_ bin (r0x23 [5:4]) column_ skip (r0x23 [2:0]) 2592 x 1944 (full resolution) 14 n/a 2591 1943 <1943 0 0 0 0 2048 x 1536 qxga 21 n/a 2047 1535 <1535 0 0 0 0 1600 x 1200 uxga 31 n/a 1599 1199 <1199 0 0 0 0 1280 x 1024 sxga 42 n/a 1279 1023 <1023 0 0 0 0 1024 x 768 xga 63 n/a 1023 767 <767 0 0 0 0 63 skipping 2047 1535 0 1 0 1 47 binning 2047 1535 1 1 1 1 800 x 600 svga 90 n/a 799 599 <599 0 0 0 0 90 skipping 1599 1199 0 1 0 1 65 binning 1599 1199 1 1 1 1 640 x 480 vga 123 n/a 639 479 <479 0 0 0 0 123 skipping 2559 1919 0 3 0 3 53 binning 2559 1919 3 3 3 3 table 11. wide screen (16:9) resolutions resolution frame rate sub ? sampling mode column_ size (r0x04) row_ size (r0x03) shutter_ width_ lower (r0x09) row_ bin (r0x22 [5:4]) row_ skip (r0x22 [2:0]) column_ bin (r0x23 [5:4]) column_ skip (r0x23 [2:0]) 1920 x 1080 hdtv 31 n/a 1919 1079 <1079 0 0 0 0 1280 x 720 hdtv 60 n/a 1279 719 <719 0 0 0 0 60 skipping 2559 1439 <719 0 1 0 1 45 skipping 2559 1439 <719 1 1 1 1 1. it is assumed that the minimum horizontal blanking and the minimum vertical blanking conditions are met, and that all other r egisters are set to default values.
mt9p031 www.onsemi.com 11 serial bus description registers are written to and read from the mt9p031 through the two ? wire serial interface bus. the mt9p031 is a serial interface slave and is controlled by the serial clock (sclk), which is driven by the serial interface master. data is transferred into and out of the mt9p031 through the serial data (sdata) line. the sdata line is pulled up to vdd_io offchip by a 1.5 k resistor. either the slave or master device can pull the sdata line low ? the serial interface protocol determines which device is allowed to pull the sdata line down at any given time. protocol the two-wire serial defines several dif ferent transmission codes, as follows: 1. a start bit 2. the slave device 8-bit address 3. an (a no) acknowledge bit 4. an 8-bit message 5. a stop bit sequence a typical read or write sequence begins by the master sending a start bit. after the start bit, the master sends the slave device?s 8 ? bit address. the last bit of the address determines if the request is a read or a write, where a ?0? indicates a write and a ?1?indicates a read. the slave device acknowledges its address by sending an acknowledge bit back to the master. if the request is a write, the master then transfers the 8 ? bit register address to which a write should take place. the slave sends an acknowledge bit to indicate that the register address has been received. the master then transfers the data 8 bits at a time, with the slave sending an acknowledge bit after each 8 bits. the mt9p031 uses 16 ? bit data for its internal registers, thus requiring two 8 ? bit transfers to write to one register. after 16 bits are transferred, the register address is automatically incremented, so that the next 16 bits are written to the next register address. the master stops writing by sending a start or stop bit. a typical read sequence is executed as follows. first the master sends the write ? mode slave address and 8 ? bit register address, just as in the write request. the master then sends a start bit and the read ? mode slave address. the master then clocks out the register data 8 bits at a time. the master sends an acknowledge bit after each 8 ? bit transfer. the register address is automatically ? incremented after every 16 bits is transferred. the data transfer is stopped when the master sends a no ? acknowledge bit. bus idle state the bus is idle when both the data and clock lines are high. control of the bus is initiated with a start bit, and the bus is released with a stop bit. only the master can generate the start and stop bits. start bit the start bit is defined as a high ? to ? low transition of the data line while the clock line is high. stop bit the stop bit is defined as a low ? to ? high transition of the data line while the clock line is high. slave address the 8 ? bit address of a two ? wire serial interface device consists of 7 bits of address and 1 bit of direction. a ?0? in the lsb (least significant bit) of the address indicates write mode (0xba), and a ?1? indicates read mode (0xbb). data bit transfer one data bit is transferred during each clock pulse. the serial interface clock pulse is provided by the master. the data must be stable during the high period of the two ? wire serial interface clock ? it can only change when the serial clock is low. data is transferred 8 bits at a time, followed by an acknowledge bit. acknowledge bit the master generates the acknowledge clock pulse. the transmitter (which is the master when writing, or the slave when reading) releases the data line, and the receiver indicates an acknowledge bit by pulling the data line low during the acknowledge clock pulse. no-acknowledge bit the no ? acknowledge bit is generated when the data line is not pulled down by the receiver during the acknowledge clock pulse. a no ? acknowledge bit is used to terminate a read sequence.
mt9p031 www.onsemi.com 12 two-wire serial interface sample write and read sequences 16-bit write sequence a typical write sequence for writing 16 bits to a register is shown in figure 11. a start bit given by the master, followed by the write address, starts the sequence. the image sensor then gives an acknowledge bit and expects the register address to come first, followed by the 16 ? bit data. after each 8 ? bit transfer, the image sensor gives an acknowledge bit. all 16 bits must be written before the register is updated. after 16 bits are transferred, the register address is automatically incremented so that the next 16 bits are written to the next register. the master stops writing by sending a start or stop bit. figure 11. timing diagram showing a write to reg0x09 with the value 0x0284 sclk s data start ack 0xba addr ack ack ack stop reg0x09 1000 0100 0000 0010 16-bit read sequence a typical read sequence is shown in figure 12. first the master has to write the register address, as in a write sequence. then a start bit and the read address specify that a read is about to happen from the register. the master then clocks out the register data 8 bits at a time. the master sends an acknowledge bit after each 8-bit transfer. the register address should be incremented after every 16 bits is transferred. the data transfer is stopped when the master sends a no-acknowledge bit. figure 12. timing diagram showing a read to reg0x09 with the value 0x0284 sclk s data start ack 0xba addr 0xbb addr 0000 0010 reg0x09 ack ack ack 1000 0100 nack start stop
mt9p031 www.onsemi.com 13 features reset the mt9p031 may be reset by using reset_bar (active low) or the reset register. hard reset assert (low) reset_bar, it is not necessary to clock the device. all registers return to the factory defaults. when the pin is negated (high), the chip resumes normal operation. soft reset set the reset register field to ?1? (r0x0d[0] = 1). all registers except the following will be reset: ? chip_enable ? synchronize_changes ? reset ? use_pll ? power_pll ? pll_m_factor ? pll_n_divider ? pll_p1_divider when the field is returned to ?0,? the chip resumes normal operation. power up and power down when first powering on the mt9p031, follow this sequence: 1. ensure reset_bar is asserted (low). 2. bring up the supplies. if both the analog and the digital supplies cannot be brought up simultaneously, ensure the digital supply comes up first. 3. negate reset_bar (high) to bring up the sensor. when powering down, be sure to follow this sequence to ensure that i/os do not load any buses that they are connected to. 1. assert reset_bar. 2. remove the supplies. clocks the mt9p031 requires one clock (extclk), which is nominally 96 mhz. by default, this results in pixels being output on the d out pins at a maximum data rate of 96 mp/s. with v dd _io = 1.8 v, maximum master clock and maximum data rate become 48 mhz and 48 mp/s, respectively. the extclk clock can be divided down internally by setting divide_pixel_clock to a non ? zero value. this slows down the operation of the chip as though extclk had been divided externally. f extclk if divide_pixel_clock = 0 f pixclk= { f extclk / (2 divide_pixel_clock) otherwise the d out , lv, fv, and strobe outputs are launched on the rising edge of pixclk, and should be captured on the falling edge of pixclk. the specific relationship of pixclk to these other outputs can be adjusted in two ways. if invert_pixel_clock is set, the sense of pixclk is inverted from that shown in figure 8. in addition, if the pixel clock has been divided by divide_pixel_clock, it can be shifted relative to the other outputs by setting shift_pixel_clock. pll-generated master clock the pll contains a prescaler to divide the input clock applied on extclk, a vco to multiply the prescaler output, and another divider stage to generate the output clock. the clocking structure is shown in figure 13. pll control registers can be programmed to generate desired master clock frequency. note: the pll control registers must be programmed while the sensor is in the software standby state. the effect of programming the pll divisors while the sensor is in the streaming state is undefined. figure 13. pll-generated master clock extclk pll output clock pll_n_divider +1 pre pll pll input clock (vco) div 1 pll_p1_divider +1 pll_m_factor sysclk (pixclk) n div pll multiplier pfd output pll p1 m
mt9p031 www.onsemi.com 14 pll setup the mt9p031 has a pll which can be used to generate the pixel clock internally. to use the pll: 1. bring the mt9p031 up as normal, make sure that f extclk is between 6 and 27 mhz and then power on the pll by setting power_pll (r0x10[0] = 1). 2. set pll_m_factor, pll_n_divider, and pll_p1_divider based on the desired input ( f extclk) and output ( f pixclk) frequencies. determine the m, n, and p1 values to achieve the desired f pixclk using this formula: fpixclk = (fextclk m) / (n p1) where m = pll_m_factor n = pll_n_divider + 1 p1 = pll_p1_divider + 1 2 mhz < f extclk / n < 13.5 mhz 180 mhz < ( f extclk m) / n < 360 mhz note: if p1 is odd (that is, pll_p1_divider is even), the duty cycle of the internal system clock will not be 50:50. in this case, it is important that either a slower clock is used or all clock enable bits are set in r101. it is desirable to keep ( f extclk / n) as large as possible within the limits. also, ?m? must be between 16 and 255, inclusive. 3. wait 1ms to ensure that the vco has locked. 4. set use_pll (r0x10[1] = 1) to switch from extclk to the pll-generated clock. standby and chip enable the mt9p031 can be put in a low-power standby state by either method below: 1. hard standby: by pulling standby_bar low, or 2. soft standby: by clearing the chip_enable register field (r0x07[1] = 0). when the sensor is put in standby, all internal clocks are gated, and analog circuitry is put in a state that it draws minimal power. the two wire serial interface is still active. if the sensor was in continuous mode when put in standby, it resumes from where it was when standby was deactivated. naturally, this frame and the next frame are corrupted, though the sensor itself does not realize this. as this could affect automatic black level calibration, it is recommended that either the chip be paused (by setting restart_pause) before being put in standby mode, or it be restarted (setting restart) upon resumption of operation. entering soft standby reg= 0x0b, 0x0002 reg= 0x0b, 0x0003 reg= 0x07, 0x1f82 reg= 0x07, 0x1f80 reg= 0x0b, 0x0001 leaving soft standby reg= 0x0b, 0x0002 reg= 0x0b, 0x0003 reg= 0x07, 0x1f80 reg= 0x07, 0x1f82 reg= 0x0b, 0x0001 for maximum power savings in standby mode, extclk should not be toggling. when standby mode is entered, either by clearing chip_enable or by asserting standby_bar, the pll is disabled automatically or powered down. it must be manually re-enabled when leaving standby as needed. full-array readout the entire array, including dark pixels, can be read out without digital processing or automatic black level adjustments. this can be accomplished as follows: 1. set row_start and column_start to 0. 2. set row_size to 2003. 3. set column_size to 2751. 4. set manual_blc to 1. 5. set row_blc to 0. 6. set row_black_default_offset to 0. 7. set show_dark_rows and show_dark_columns to 0. if automatic analog (coarse) blc is desired, but no digital processing, modify the above settings as follows: 1. set row_start to 12. 2. set row_size to 1993. 3. set manual_blc to 0. these settings result in the same array layout as above, but only 22 dark rows are available at the top of the array; the first eight are used in the black level algorithm, and there should be a two-row buf fer between the black region and the active region. window control the output image window of the pixel (the fov) is defined by four register fields. column_start and row_start define the x and y coordinates of the upper-left corner of the fov. column_size defines the width of the fov, and row_size defines the height of the fov in array pixels. the column_start and row_start fields must be set to an even number. the column_size and row_size fields must be set to odd numbers (resulting in an even size for the fov). the row_start register should be set no lower than 12 if either manual_blc is clear or show_dark_rows is set. if no special resolution modes are set (see below), the width of the output image, w, is column_size + 1 and the height, h , is row_size + 1 .
mt9p031 www.onsemi.com 15 readout modes subsampling by default, the resolution of the output image is the full width and height of the fov as defined in ?window control?. the output resolution can be reduced by two methods: skipping and binning. row and column skip modes use subsampling to reduce the output resolution without reducing fov. the mt9p031 also has row and column binning modes, which can reduce the impact of aliasing introduced by the use of skip modes. this is achieved by the averaging of 2 or 3 adjacent rows and columns (adjacent same-color pixels). both 2x and 4x binning modes are supported. rows and columns can be binned independently. skipping skipping reduces resolution by using only selected pixels from the fov in the output image. in skip mode, entire rows and columns of pixels are not sampled, resulting in a lower resolution output image. a skip 2x mode skips one bayer pair of pixels for every pair output. skip 3x skips two pairs for each one pair output. rows and columns are always read out in pairs. if skip 2x mode is enabled with otherwise default sensor settings, the columns in the output image correspond to the pixel array columns 16, 17, 20, 21, 24, 25... . figure 14. eight pixels in normal and column skip 2x readout modes g0 r0 [11:0] [11:0] g1 r1 [11:0] g2 [11:0] r2 [11:0] [11:0] g3 r3 [11:0] g0 [11:0] r0 [11:0] g2 [11:0] r2 [11:0] [11:0] lv normal readout d out [11:0] lv column skip 2x readout d out [11:0] skipping can be enabled separately for rows and columns. to enable skip mode, set either or both of row_skip and column_skip to the number of pixel pairs that should be skipped for each pair used in the output image. for example, to set column skip 2x mode, set column_skip to ?1?. the size of the output image is reduced by the skip mode as shown in the following two equations: (eq. 1) w  2  ceil((column_size  1))  (2  (column_skip  1))) h  2  ceil((row_size  1))  (2  (row_skip  1))) (eq. 2) figure 15. pixel readout (no skipping) x incrementing y incrementing figure 16. pixel readout (column skip 2x) x incrementing y incrementing
mt9p031 www.onsemi.com 16 figure 17. pixel readout (row skip 2x) x incrementing y incrementing figure 18. pixel readout (column skip 2x, row skip 2x) y incrementing x incrementing binning binning reduces resolution by combining adjacent same-color imager pixels to produce one output pixel. all of the pixels in the fov contribute to the output image in bin mode. this can result in a more pleasing output image with reduced subsampling artifacts. it also improves low-light performance. for columns, the combination step can be either an averaging or summing operation. depending on lighting conditions, one or the other may be desirable. in low-light conditions, summing produces a gain roughly equivalent to the column bin factor. column summing may be enabled by setting column_sum. binning works in conjunction with skipping. pixels that would be skipped because of the column_skip and row_skip settings can be averaged instead by setting column_bin and row_bin to the number of neighbor pixels to be averaged with each output pixel. for example, to set bin 2x mode, set column_skip and column_bin to 1. additionally, column_start must be a multiple of (2 * (column_bin + 1)) and row_start must be a multiple of (2 * (row_bin + 1)). only certain combinations of binning and skipping are allowed. these are shown in table 12 . if an illegal skip value is selected for a bin mode, a legal value is selected instead. table 12. legal values for column_skip based on column_bin column_bin legal values for column_skip 0 (no binning) 0, 1, 2, 3, 4, 5, 6 1 (bin 2x) 1, 3, 5 3 (bin 4x) 3 1. ensure that column_start (r0x02) is set in the form shown below, where n is an integer: mirror column = 0 mirror column = 1 no bin 4n 4n + 2 bin 2x 8n 8n + 4 bin 4x 16n 16n + 8 bin mode is illustrated in figure 19 and figure 20.
mt9p031 www.onsemi.com 17 figure 19. pixel readout (column bin 2x) figure 20. pixel readout (column bin 2x, row bin 2x) y incrementing x incrementing x incrementing y incrementing mirror column mirror image by setting r0x20[14] = 1, the readout order of the columns is reversed, as shown in figure 21. the starting color, thus bayer pattern, is preserved when mirroring the columns. figure 21. six pixels in normal and column mirror readout modes d out [11:0] line_valid normal readout g0 (11:0) r0 (11:0) g1 (11:0) r1 (11:0) g2 (11:0) r2 (11:0) d out [11:0] reverse readout g2 (11:0) r2 (11:0) r1 (11:0) g1 (11:0) r0 (11:0) g0 (11:0) row mirror image by setting r0x20[15] = 1, the readout order of the rows is reversed as shown in figure 22. the starting color, thus bayer pattern, is preserved when mirroring the rows. figure 22. six rows in normal and row mirror readout modes d out [11:0] frame_valid normal readout row0 (11:0) row1 (11:0) row2 (11:0) row3 (11:0) row4 (11:0) row5 (11:0) d out [11:0] reverse readout row4 (11:0) row5 (11:0) row3 (11:0) row2 (11:0) row1 (11:0) row0 (11:0) by default, active pixels in the resulting image are output in row-major order (an entire row is output before the next row is begun), from lowest row/column number to highest. if desired, the output (and sampling) order of the rows and columns can be reversed. this affects only pixels in the active region defined above, not any pixels read out as dark rows or dark columns. when the readout direction is reversed, the color order is reversed as well (red, green, red, and so on, instead of green, red, green, and so on, for example).
mt9p031 www.onsemi.com 18 if row binning is combined with row mirroring, the binning is still done in the positive direction. therefore, if the first output row in bin 2x + row mirror was 1997, pixels on rows 1997 and 1999 would be averaged together. the next pixel output would be from rows 1996 and 1998, followed by the average of 1993 and 1995. for column mirroring plus binning, the span of pixels used should be the same as with non-mirror mode. maintaining a constant frame rate maintaining a constant frame rate while continuing to have the ability to adjust certain parameters is the desired scenario. this is not always possible, however, because register updates are synchronized to the read pointer, and the shutter pointer for a frame is usually active during the readout of the previous frame. therefore, any register changes that could affect the row time or the set of rows sampled causes the shutter pointer to start over at the beginning of the next frame. by default, the following register fields cause a ?bubble? in the output rate (that is, the vertical blank increases for one frame) if they are written in continuous mode, even if the new value would not change the resulting frame rate: ? row_start ? row_size ? column_size ? horizontal_blank ? vertical_blank ? shutter_delay ? mirror_row ? row_bin ? row_skip ? column_skip the size of this bubble is (sw t row), calculating the row time according to the new settings. the shutter_width_lower and shutter_width_upper fields may be written without causing a bubble in the output rate under certain circumstances. because the shutter sequence for the next frame often is active during the output of the current frame, this would not be possible without special provisions in the hardware. writes to these registers take ef fect two frames after the frame they are written, which allows the shutter width to increase without interrupting the output or producing a corrupt frame (as long as the change in shutter width does not affect the frame time). synchronizing register writes to frame boundaries changes to most register fields that affect the size or brightness of an image take effect on the frame after the one during which they are written. these fields are noted as ?synchronized to frame boundaries? in table 12 of the register reference. to ensure that a register update takes effect on the next frame, the write operation must be completed after the leading edge of fv and before the trailing edge of fv. as a special case, in snapshot modes (see ?operating modes?), register writes that occur after fv but before the next trigger will take effect immediately on the next frame, as if there had been a restart. however, if the trigger for the next frame in ers snapshot mode occurs during fv , register writes take effect as with continuous mode. additional control over the timing of register updates can be achieved by using synchronize_changes. if this bit is set, writes to certain register fields that affect the brightness of the output image do not take ef fect immediately. instead, the new value is remembered internally. when synchronize_changes is cleared, all the updates simultaneously take effect on the next frame (as if they had all been written the instant synchronize_changes was cleared). register fields affected by this bit are identified in table 13 of the register reference. fields not identified as being frame ? synchronized or affected by synchronize_changes are updated immediately after the register write is completed. the effect of these registers on the next frame can be difficult to predict if they affect the shutter pointer. restart to restart the mt9p031 at any time during the operation of the sensor, write a ?1? to the restart register (r0x0b[0] = 1). this has two ef fects: first, the current frame is interrupted immediately. second, any writes to frame-synchronized registers and the shutter width registers take effect immediately, and a new frame starts (in continuous mode). register updates being held by synchronize_changes do not take effect until that bit is cleared. the current row and one following row complete before the new frame is started, so the time between issuing the restart and the beginning of the next frame can vary by about t row. if pause_restart is set, rather than immediately beginning the next frame after a restart in continuous mode, the sensor pauses at the beginning of the next frame until pause_restart is cleared. this can be used to achieve a deterministic time period from clearing the pause_restart bit to the beginning of the first frame, meaning that the controller does not need to be tightly synchronized to lv or fv. note: when pause_restart is cleared, be sure to leave restart set to ?1? for proper operation. the restart bit will be cleared automatically by the device. image acquisition modes the mt9p031 supports two image acquisition modes (shutter t ypes) (see ?opera ting modes?), electronic rolling shutter and global reset release. electronic rolling shutter the ers modes take pictures by scanning the rows of the sensor twice in the order described in ?full-array readout?. on the first scan, each row is released from reset, starting the exposure. on the second scan, the row is sampled, processed, and returned to the reset state. the exposure for
mt9p031 www.onsemi.com 19 any row is therefore the time between the first and second scans. each row is exposed for the same duration, but at slightly different point in time, which can cause a shear in moving subjects. whenever the mode is changed to an ers mode (even from another ers mode), and before the first frame following reset, there is an anti-blooming sequence where all rows are placed in reset. this sequence must complete before continuous readout begins. this delay is: t allreset = 16 2004 t aclk global reset release the grr modes attempt to address the shearing effect by starting all rows? exposures at the same time. instead of the first scan used in ers mode, the reset to each row is released simultaneously. the second scan occurs as normal, so the exposure time for each row would different. typically, an external mechanical shutter would be used to stop the exposure of all rows simultaneously. in grr modes, there is a startup overhead before each frame as all rows are initially placed in the reset state ( t allreset). unlike ers mode, this delay always occurs before each frame. however, it occurs as soon as possible after the preceding frame, so typically the time from trigger to the start of exposure does not include this delay. to ensure that this is the case, the first trigger must occur no sooner than t allreset after the previous frame is read out. exposure the nominal exposure time, t exp, is the effective shutter time in ers modes, and is defined by the shutter width, sw, and the shutter overhead, so, which includes the effect of shutter_delay. exposure time for other modes is defined relative to this time. increasing shutter_delay (sd) decreases the exposure time. exposure times are typically specified in units of row time, although it is possible to fine-tune exposures in units of t aclks (where t aclk is 2 * t pixclk). t exp = sw t row ? so 2 t pixclk where: sw = max(1, (2 * 16 shutter_width_upper) + shutter_width_lower) so = 208 (row_bin + 1) + 98 + min(sd, sdmax) ? 94 sd = shutter_delay + 1 sdmax = 1232; if sw < 3 1504, otherwise the exposure time is calculated by determining the reset time of each pixel row (with time 0 being the start of the first row time), and subtracting it from the sample time. under normal conditions in ers modes, every pixel should end up with the same exposure time. in global shutter release modes, or in row binning modes, the exposure times of individual pixels can vary. in global shutter release modes (described later) exposure time starts simultaneously for all rows, but still ends as defined above. in a real system, the exposure would be stopped by a mechanical shutter, which would effectively stop the exposure to all rows simultaneously. because this specification does not consider the effect of an external shutter, each output row?s exposure time will differ by t row from the previous row. global shutter modes also introduce a constant added to the shutter time for each row, because the exposure starts during the global shutter sequence, and not during any row?s shutter sequence. for each additional row in a row bin, this offset will increase by the length of the shutter sequence. in bulb_exposure modes (see details in table 13), the exposure time is determined by the width of the trigger pulse rather than the shutter width registers. in ers bulb mode, it is still a multiple of row times, and the shutter overhead equation still applies. in grr bulb mode, the exposure time is granular to aclks, and shutter overhead (and thus shutter_delay) has no effect. operating modes in the default operating mode, the mt9p031 continuously samples and outputs frames. it can be put in ?snapshot? or triggered mode by setting snapshot, which means that it samples and outputs a frame only when triggered. to leave snapshot mode, it is necessary to first clear snapshot then issue a restart. when in snapshot mode, the sensor can use the ers or the grr. the exposure can be controlled as normal, with the shutter_width_lower and shutter_width_upper registers, or it can be controlled using the external trigger signal. the various operating modes are summarized in table 13 . table 13. operating mode mode settings description ers continuous default frames are output continuously at the frame rate defined by t frame. ers is used, and the exposure time is electronically controlled to be t exp. ers snapshot snapshot = 1 frames are output one at a time, with each frame initiated by a trigger. ers is used, and the exposure time is electronically controlled to be t exp. ers bulb snapshot = 1; bulb_exposure = 1 frames are output one at a time, with each frame?s exposure initiated by a trigger. ers is used. end of exposure and readout are initiated by a second trigger.
mt9p031 www.onsemi.com 20 table 13. operating mode (continued) mode description settings grr snapshot snapshot = 1; global_reset = 1 frames are output one at a time, with each frame initiated by a trigger. grr is used. readout is electronically triggered based on sw. grr bulb snapshot = 1; bulb_exposure = 1; global_reset = 1 frames are output one at a time, with each frame initiated by a trigger. grr is used. readout is initiated by a second trigger. 1. in ers bulb mode, sw must be greater than 4 (use trigger wider than t row * 4). all operating modes share a common set of operations: 1. wait for the first trigger, then start the exposure. 2. wait for the second trigger, then start the readout. the first trigger is by default automatic, producing continuous images. if snapshot is set, the first trigger can either be a low level on the trigger pin or writing a ?1? to the trigger register field. if invert_trigger is set, the first trigger is a high level on trigger pin (or a ?1? written to trigger register field). because trigger is level-sensitive, multiple frames can be output (with a frame rate of t frame) by holding trigger pin at the triggering level. the second trigger is also normally automatic, and generally occurs sw row times after the exposure is started. if bulb_exposure is set, the second trigger can either be a high level on trigger or a write to restart. if invert_trigger is set, the second trigger is a low level on trigger (or a restart). in bulb modes, the minimum possible exposure time depends on the mechanical shutter used. after one frame has been output, the chip will reset step 1, above, eventually waiting for the first trigger again. the next trigger may be issued after ((vb - 8) x t row) in ers modes or t allrest in grr modes. the choice of shutter type is made by global_reset. if it is set, the grr shutter is used; otherwise, ers is used. the two shutters are described in ?electronic rolling shutter? and ?global reset release? . the default ers continuous mode is shown in figure 8. figure 23 shows default signal timing for ers snapshot modes, while figure 24 shows default signal timing for grr snapshot modes. figure 23. ers snapshot timing trigger strobe fv lv d out trigger strobe fv lv d out (a) ers snapshot (b) ers bulb tt1 tse tsw tt2 (h + vb) x t row (h + vb) x t row 8 x t row t row t row 8 x t row t row 8 x t row t row sw x t row 8 x t row first row exposure second row exposure first row exposure second row exposure sw x t row tt1 tsw tt2 tse
mt9p031 www.onsemi.com 21 figure 24. grr snapshot timing trigger strobe fv lv d out trigger strobe fv lv d out (a) grr snapshot (b) grr bulb tse tsw tt2 tsw tse tt2 vb x t row + 2000 x t aclk t row 8 x t row t row 8 x t row first row exposure first row exposure vb x t row + 2000 x t aclk second row exposure second row exposure sw x t row + 2000 x t aclk sw x t row + 2000 x t aclk tt1 tt1 strobe control to support synchronization of the exposure with external events such as a flash or mechanical shutter, the mt9p031 produces a strobe output. by default, this signal is asserted for approximately the time that all rows are simultaneously exposing, minus the vertical blanking time, as shown in figure 23 and figure 24. also indicated in these figures are the leading and trailing edges of strobe, which an be configured to occur at one of several timepoints. the leading edge of strobe occurs at strobe_start, and the trailing edge at strobe_end, which are set to codes described in table 14 . table 14. strobe timepoints symbol timepoint code tt1 trigger 1 (start of shutter scan) ? tse start of exposure (all rows simultaneously exposing) offset by vb 1 tsw end of shutter width (expiration of the internal shutter width counter) 2 tt2 trigger 2 (start of readout scan) 3 if strobe_start and strobe_end are set to the same timepoint, the strobe is a t row wide pulse starting at the strobe_start timepoint. if the settings are such that the strobe would occur after the trailing edge of fv, the strobe may be only t aclk wide; however, because there is no concept of a row at that time. the sense of the strobe signal can be inverted by setting invert_strobe (r0x1e[5] = 1. to use strobe as a flash in snapshot modes or with mechanical shutter, set the strobe_enable register bit field r0x1e[4] = 1. signal chain and datapath the signal chain and datapath are shown in figure 25. each color is processed independently, including separate gain and offset settings. voltages sampled from the pixel array are first passed through an analog gain stage, which can produce gain factors between 1 and 8. an analog offset is then applied, and the signal is sent through a 12-bit analog-to-digital converter. in the digital space, a digital gain factor of between 1 and 16 is applied, and then a digital
mt9p031 www.onsemi.com 22 offset of between ?2048 and 2047 is added. the resulting 12-bit pixel value is then output on the d out [11:0] ports. the analog offset applied is determined automatically by the black level calibration algorithm, which attempts to shift the output of the analog signal chain so that black is at a particular level. the digital offset is a fine-tuning of the analog offset. figure 25. signal path pixel voltage digital gain analog gain digital datapath x + analog signal chain x + digital offset correction black level calibration d out [11:0] adc analog offset gain there are two types of gain supported: analog gain and digital gain. combined, gains of between 1 and 128 are possible. the recommended gain settings are shown in table 15. table 15. gain increment settings gain range increments digital gain analog multipier analog gain 1? 4 0.125 0 0 8?32 4.25?8 0.25 0 1 17?32 9?128 1 1?120 1 32 1. analog gain should be maximized before applying digital gain. 2. the recommended minimum gain is 1.38 (0x000b) 3. for optimal sensor performance, when using gain settings <= 4.0, also set reserved register r0x3e = 0x0080 and for gain setti ngs >4.0, set register r0x003e=0x00c0. the combined gain for a color c is given by: g c = ag c x dg c . analog gain the analog gain is specified independently for each color channel. there are two components, the gain and the multiplier. the gain is specified by green1_analog_gain, red_analog_gain, blue_analog_gain, and green2_analog_gain in steps of 0.125. the analog multiplier is specified by green1_analog_multiplier, red_analog_multiplier, blue_analog_multiplier, and green2_analog_multiplier. these combine to form the analog gain for a given color c as shown in this equation: ag c = (1 + c_analog_multiplier) (c_analog_gain / 8) the gain component can range from 0 to 7.875 in steps of 0.125, and the multiplier component can be either 0 or 1 (resulting in a multiplier of 1 or 2). however, it is best to keep the ?gain? component between 1 and 4 for the best noise performance, and use the multiplier for gains between 4 and 8. digital gain the digital gain is specified independently for each color channel in steps of 0.125. it is controlled by the register fields green1_digital_gain, red_digital_gain, blue_digital_gain, and green2_digital_gain. the digital gain for a color c is given by: dg c = 1 + (c_digital_gain / 8) offset the mt9p031 sensor can apply an offset or shift to the image data in a number of ways. an analog offset can be applied on a color-wise basis to the pixel voltage as it enters the adc. this makes it possible to adjust for offset introduced in the pixel sampling and gain stages to be removed, centering the resulting voltage swing in the adc?s range. this offset can be automatically determined by the sensor using the automatic black level calibration (blc) circuit, or it can be set manually by the user. it is a fairly coarse adjustment, with adjustment step sizes of 4 to 8 lsbs.
mt9p031 www.onsemi.com 23 digital offset is also added on a color-wise and line-wise basis to fine tune the black level of the output image. this offset is based on an average black level taken from each row?s dark columns, and is automatically determined by the digital row-wise black level calibration (rblc) circuit. if the rblc circuit is not used, a user-defined offset can be applied instead. this offset has a resolution of 1 lsbs. a digital offset is added on a color-wise basis to account for channel offsets that can be introduced due to ?even? and ?odd? pixels of the same color going through a slightly different adc chain. this offset is automatically determined based on dark row data, but it can also be manually set. analog black level calibration the mt9p031 black level calibration circuitry provides a feedback control system since adjustments to the analog offset are imprecise by nature. the goal is that within the dark row region of any supported output image size, the offset should have been adjusted such that the average black level falls within the specified target thresholds. the analog of fsets normally need a major adjustment only when leaving the reset state or when there has been a change to a color?s analog gain. factors like shutter width and temperature have lower-order impact, and generally only require a minor adjustment to the analog offsets. the mt9p031 has various calibration modes to keep the system stable while still supporting the need for rapid offset adjustments when necessary. the two basic steps of black level calibration are: 1. take a sample. 2. if necessary, adjust the analog offset. black level calibration is normally done separately for each color channel, and different channels can use dif ferent sample or adjustment methods at the same time. however, because both green1 and green2 pixels go through the same signal chain, and red and blue pixels likewise go through the same signal chain, it is expected that the chosen offset for these pairs should be the same as long as the gains are the same. if lock_green_calibration is set, and (green1_analog_gain = green2_analog_gain) and (green1_analog_multiplier = green2_analog_ multiplier), the calculated or user-specified green1_offset is used for both green channels. similarly, if lock_red/blue_calibration is set, and (red_analog_gain = blue_analog_gain) and (red_analog_multiplier = blue_analog_multiplier), the calculated or user-specified red_offset is used for both the red and blue channels. the current values of the offsets can be read from the green1_offset, red_offset, blue_offset, and green2_offset registers. writes to these registers when manual_blc is set change the offsets being used. in automatic blc mode, writes to these registers are effective when manual mode is re-entered. in manual_blc mode, no sampling or adjusting takes place for any color. digital black level calibration digital black level calibration is the final calculation applied to pixel data before it is output. it provides a precise black level to complement the coarser -grained analog black level calibration, and also corrects for black level shift introduced by digital gain. this correction applies to the active columns for all rows, including dark rows. test patterns the mt9p031 has the capability of injecting a number of test patterns into the top of the datapath to debug the digital logic. with one of the test patterns activated, any of the datapath functions can be enabled to exercise it in a deterministic fashion. test patterns are enabled when enable_test_pattern is set. only one of the test patterns can be enabled at a given point in time by setting the test_pattern_mode register according to table 16. when test patterns are enabled the active area will receive the value specified by the selected test pattern and the dark pixels will receive the value in test_pattern_green for green pixels, test_pattern_blue for blue pixels, and t est_pattern_red for red pixels?+. note: on semiconductor recommends turning off black level calibration (blc) when test pattern is enabled, otherwise some of the test patterns will not be properly output. table 16. test pattern modes test_pattern_mode test pattern output 0 color field (normal operation) 1 horizontal gradient 2 vertical gradient 3 diagonal gradient 4 classic test pattern 5 walking 1s 6 monochrome horizontal bars 7 monochrome vertical bars 8 vertical color bars classic test pattern when selected, a value from test_data will be sent through the digital pipeline instead of sampled data from the sensor. the value will alternate between test_data for even and odd columns. color field when selected, the value for each pixel is determined by its color. green pixels will receive the value in test_pattern_green, red pixels will receive the value in test_pattern_red, and blue pixels will receive the value in test_pattern_blue.
mt9p031 www.onsemi.com 24 vertical color bars when selected, a typical color bar pattern will be sent through the digital pipeline. horizontal gradient when selected, a horizontal gradient will be produced based on a counter which increments on every active pixel. vertical gradient when selected, a vertical gradient will be produced based on a counter which increments on every active row. diagonal gradient when selected, a diagonal gradient will be produced based on the counter used by the horizontal and vertical gradients. walking 1s when selected, a walking 1s pattern will be sent through the digital pipeline. the first value in each row is 1. monochrome vertical bars when selected, vertical monochrome bars will be sent through the digital pipeline. the width of each bar can be set in test_pattern_bar_width and the intensity of each bar is set by test_pattern_green for even bars and test_pattern_blue for odd bars. monochrome horizontal bars when selected, horizontal monochrome bars will be sent through the digital pipeline. the width of each bar can be set in test_pattern_bar_width and the intensity of each bar is set by test_pattern_green for even bars and test_pattern_blue for odd bars.
mt9p031 www.onsemi.com 25 spectral characteristics figure 26. typical spectral characteristics 0 10 20 30 40 50 60 70 350 450 550 650 750 850 950 r gr 1050 b gb wavelength (nm) qe (%) cra vs. image height plot image height cra (deg) (%) (mm) cra design 0 2 4 6 8 10 12 14 0 102030405060708090100110 image he ight (%) cra (deg) figure 27. cra vs. image height (7 deg) 0 0 0 5 0.178 0.35 10 0.356 0.70 15 0.535 1.05 20 0.713 1.40 25 0.891 1.75 30 1.069 2.10 35 1.247 2.45 40 1.426 2.80 45 1.604 3.15 50 1.782 3.50 55 1.960 3.85 60 2.138 4.20 65 2.317 4.55 70 2.495 4.90 75 2.673 5.25 80 2.851 5.60 85 3.029 5.95 90 3.208 6.30 95 3.386 6.65 100 3.564 7.00
mt9p031 www.onsemi.com 26 electrical specifications two-wire serial register interface the electrical characteristics of the two-wire serial register interface (sclk, s data ) are shown in figure 28 and table 17 . figure 28. two-wire serial bus timing parameters s s data clk write start stop s d ack s ata clk read start ack tr_clk tf_clk 90% 10% tr_sdat tf_sdat 90% 10% t sdh t sds t shaw t ahsw t stps t tph s register address bit 7 write address bit 0 register value bit 0 register value bit 7 read address bit 0 register value bit 0 write address bit 7 read address bit 7 t shar t sdsr t sdhr t ahsr t srth t sclk notes: read sequence: for an 8-bit read, read waveforms start after write command and register address are issued. table 17. two-wire serial bus characteristics symbol definition condition min typ max unit f sclk serial interface input clock frequency ? ? ? 400 khz t sclk serial input clock period ? ? ? 2.5  sec sclk duty cycle ? 40 50 60 % tr_sclk sclk rise time ? 34 ? ns tf_sclk sclk fall time ? 8 ? ns tr_sdat s data rise time ? 34 ? ns tf_sdat s data fall time ? 10 ? ns t srth start hold time write/read 0 10 28 ns t sdh s data hold write 0 0 0 ns t sds s data setup write 0 19.9 59.9 ns t shaw s data hold to ack write 279 281 300 ns t ahsw ack hold to s data write 279 281 300 ns t stps stop setup time write/read 0 0 0 ns t stph stop hold time write/read 0 0 0 ns t shar s data hold to ack read 279 284 300 ns t ahsr ack hold to s data read 279 284 300 ns t sdhr s data hold read 0 0 0 ns
mt9p031 www.onsemi.com 27 table 17. two-wire serial bus characteristics (continued) unit max typ min condition definition symbol t sdsr s data setup read 0 19.9 59.9 ns c in_si serial interface input pin capacitance ? ? 3.5 ? pf c load_sd s data max load capacitance ? ? 15 ? pf r sd s data pull-up resistor ? ? 1.5 ? k i/o timing by default, the mt9p031 launches pixel data, fv and lv with the rising edge of pixclk. the expectation is that the user captures d out [11:0], fv and lv using the falling edge of pixclk. see figure 29 and table 18 for i/o timing (ac) characteristics. figure 29. i/o timing diagram data[7:0] frame_valid/ line_valid frame_valid leads line_valid by 609 pixclks. frame_valid trails line_valid by 16 pixclks. pixclk *pll disabled for t cp extclk t cp t r t extclk t f t rp t fp t pd t pd t pfh t plh t p f t p l pxl _ 0 pxl _ 1 pxl _ 2 pxl _ n 90 % 10 % 90 % 10 % table 18. i/o timing characteristics symbol definition condition min typ max unit f extclk1 input clock frequency pll enabled 6 ? 27 mhz t extclk1 input clock period pll enabled 166 ? 37 ns f extclk2 input clock frequency pll disabled 6 ? 96 mhz t extclk2 input clock period pll disabled 125 ? 10.4 ns t r input clock rise time 0.03 ? 1 v/ns t f input clock fall time 0.03 ? 1 v/ns t rp pixclk rise time 0.03 ? 1 v/ns t fp pixclk fall time 0.03 ? 1 v/ns clock duty cycle 40 50 60 % t (pix jitter) jitter on pixclk ? ? 1.03 ns t jitter1 input clock jitter 48 mhz ? 300 ? ps t jitter2 input clock jitter 96 mhz ? 220 ? ps t cp extclk to pixclk propagation delay nominal voltages 11.5 17.7 19.1 ns f pixclk pixclk frequency default 6 ? 96 mhz t pd pixclk to data valid default 0.8 2.1 3.9 ns t pfh pixclk to fv high default 2.8 4.3 5.9 ns
mt9p031 www.onsemi.com 28 table 18. i/o timing characteristics unit max typ min condition definition symbol t plh pixclk to lv high default 2.2 3.5 5.9 ns t pfl pixclk to fv low default 2.4 4.2 5.9 ns t pll pixclk to lv low default 2.6 4.1 5.9 ns c load output load capacitance ? <10 ? pf c in input pin capacitance ? 2.5 ? pf
mt9p031 www.onsemi.com 29 dc electrical characteristics the dc electrical characteristics are shown in table 19, table 20 and table 21. table 19. dc electrical characteristics symbol definition condition min typ max unit v dd core digital voltage 1.7 1.8 1.9 v v dd_ io i/o digital voltage 1.7 1.8/2.8 3.1 v v aa analog voltage 2.6 2.8 3.1 v v aa _pix pixel supply voltage 2.6 2.8 3.1 v v dd_ pll pll supply voltage 2.6 2.8 3.1 v v ih input high voltage v dd_ io = 2.8 v 2 ? 3.3 v v dd_ io = 1.8 v 1.3 ? 2.3 v v il input low voltage v dd_ io = 2.8 v ?0.3 ? 0.8 v v dd_ io = 1.8 v ?0.3 ? 0.5 v i in input leakage current no pull-up resistor; v in = v dd_ io or d gnd ? <10 ? a v oh output high voltage v dd_ io = 1.8 v 1.3 ? 1.82 v v dd_ io = 2.8 v 2.3 ? ? v v ol output low voltage v dd_ io = 2.8 v 0.16 ? 0.35 v v dd_ io = 2.8 v ? ? 0.6 v i oh output high current at specified v oh = v dd_ io ? 400 mv at 1.7 v v dd_ io 8.9 ? 22.3 ma i ol output low current at specified v ol = 400mv at 1.7 v v dd_ io 2.6 ? 5.1 ma i oz tri-state output leakage current v in = v dd_ io or gnd ? ? 2 a i dd 1 digital operating current parallel mode 96 mhz full frame nominal voltage, pll enabled ? 28 35 ma i dd_ io1 i/o digital operating current parallel mode 96 mhz full frame nominal voltage, pll enabled ? 38.6 50 ma i aa 1 analog operating current parallel mode 96 mhz full frame nominal voltage, pll enabled ? 72 80 ma i aa_ pix1 pixel supply current parallel mode 96 mhz full frame nominal voltage, pll enabled ? 2.4 6 ma i dd_ pll1 pll supply current parallel mode 96 mhz full frame nominal voltage, pll enabled ? 5 6 ma i dd 2 digital operating current parallel mode 96 mhz 4x binning nominal voltage, pll enabled ? 15 35 ma i dd_ io2 i/o digital operating current parallel mode 96 mhz 4x binning nominal voltage, pll enabled ? 6.4 50 ma i aa 2 analog operating current parallel mode 96 mhz 4x binning nominal voltage, pll enabled ? 69 80 ma i aa_ pix2 pixel supply current parallel mode 96 mhz 4x binning nominal voltage, pll enabled ? 3.4 6 ma i dd_ pll2 pll supply current parallel mode 96 mhz 4x binning nominal voltage, pll enabled ? 5 6 ma i stby 1 hard standby current pll enabled extclk enabled ? <500 ? a i stby 2 hard standby current pll disabled extclk disabled ? <50 ? a
mt9p031 www.onsemi.com 30 table 19. dc electrical characteristics (continued) unit max typ min condition definition symbol i stby 3 soft standby current pll enabled extclk enabled (pll enabled) ? <500 ? a i stby 4 soft standby current pll disabled extclk enabled (pll disabled) ? <500 ? a product parametric performance is indicated in the electrical characteristics for the listed test conditions, unless otherwise noted. product performance may not be indicated by the electrical characteristics if operated under different conditions. table 20. power consumption mode full resolution (14 fps) 4x binning unit streaming 381 262 mw caution: stresses greater than those listed in table 21 may cause permanent damage to the device. this is a stress rating only, and functional operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. table 21. absolute maximum ratings symbol definition condition min max unit v dd _max core digital voltage ?0.3 1.9 v v dd_ io_max i/o digital voltage ?0.3 3.1 v v aa _max analog voltage ?0.3 3.1 v v aa_ pix_max pixel supply voltage ?0.3 3.1 v v dd_ pll_max pll supply voltage ?0.3 3.1 v v in _max input voltage ?0.3 3.4 v i dd _max digital operating current ? 35 ma i dd_ io_max i/o digital operating current ? 100 ma i aa _max analog operating current ? 95 ma i aa_ pix_max pixel supply current ? 6 ma i dd_ pll_max pll supply current ? 6 ma t op operating temperature measure at junction ?30 70 c t st storage temperature ?40 125 c stresses exceeding those listed in the maximum ratings table may damage the device. if any of these limits are exceeded, device function ality should not be assumed, damage may occur and reliability may be affected. 1. exposure to absolute maximum rating conditions for extended periods may affect reliability. 2. to keep dark current and shot noise artifacts from impacting image quality, care should be taken to keep t op at a minimum.
mt9p031 www.onsemi.com 31 ilcc48 10x10 case 847aa issue o
mt9p031 www.onsemi.com 32 on semiconductor and are trademarks of semiconductor components industries, llc dba on semiconductor or its subsidiaries i n the united states and/or other countries. on semiconductor owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property . a listing of on semiconductor?s product/patent coverage may be accessed at www.onsemi.com/site/pdf/patent ? marking.pdf . on semiconductor reserves the right to make changes without further notice to any products herein. on semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does o n semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including wi thout limitation special, consequential or incidental damages. buyer is responsible for its products and applications using on semiconductor products, including compliance with all laws, reg ulations and safety requirements or standards, regardless of any support or applications information provided by on semiconductor. ?typical? parameters which may be provided in on semiconductor data sheets and/or specifications can and do vary in dif ferent applications and actual performance may vary over time. all operating parameters, including ?typic als? must be validated for each customer application by customer?s technical experts. on semiconductor does not convey any license under its patent rights nor the right s of others. on semiconductor products are not designed, intended, or authorized for use as a critical component in life support systems or any fda class 3 medical devices or medical devices with a same or similar classification in a foreign jurisdiction or any devices intended for implantation in the human body. should buyer purchase or use on semicondu ctor products for any such unintended or unauthorized application, buyer shall indemnify and hold on semiconductor and its officers, employees, subsidiaries, affiliates, and distrib utors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that on semiconductor was negligent regarding the design or manufacture of the part. on semiconductor is an equal opportunity/affirmative action employer. this literature is subject to all applicable copyright laws and is not for resale in any manner. publication ordering information n. american technical support : 800 ? 282 ? 9855 toll free usa/canada europe, middle east and africa technical support: phone: 421 33 790 2910 japan customer focus center phone: 81 ? 3 ? 5817 ? 1050 mt9p031/d literature fulfillment : literature distribution center for on semiconductor 19521 e. 32nd pkwy, aurora, colorado 80011 usa phone : 303 ? 675 ? 2175 or 800 ? 344 ? 3860 toll free usa/canada fax : 303 ? 675 ? 2176 or 800 ? 344 ? 3867 toll free usa/canada email : orderlit@onsemi.com on semiconductor website : www.onsemi.com order literature : http://www.onsemi.com/orderlit for additional information, please contact your local sales representative ?


▲Up To Search▲   

 
Price & Availability of MT9P031I12STM-DP1

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X